/**
 * 生成文章摘要
 * @param {string} content - 文章内容
 * @param {number} [maxLength=150] - 摘要最大长度
 * @returns {string} 生成的摘要
 */
function generateSummary(content, maxLength = 150) {
  if (!content || typeof content !== 'string') return ''

  // 1. 去除HTML标签和换行
  const text = content
    .replace(/<[^>]+>/g, '') // 去HTML标签
    .replace(/\s+/g, ' ') // 合并空白字符
    .trim()

  // 2. 截取有效内容
  let summary = text.slice(0, maxLength * 2) // 放宽初始截取

  // 3. 找最近的句子结束点（中文。！？）
  const sentenceEnd = summary.search(/[。！？…\.\!\?][^。！？…\.\!\?]*$/)
  if (sentenceEnd > maxLength / 2) {
    summary = summary.slice(0, sentenceEnd + 1)
  }

  // 4. 如果还是太长，硬截断并加省略号
  if (summary.length > maxLength) {
    summary = summary.slice(0, maxLength - 1) + '…'
  }

  return summary
}
// 导出
module.exports = generateSummary
